1. Field of the Invention
The present invention relates to a storage apparatus that performs recovery operations associated with a read error and a stored data processing apparatus and stored data processing program used for the storage apparatus.
2. Description of the Related Art
The recording capacity of an HDD (Hard Disk Drive) has been increasing, and hard disks of 200 G bytes or more are now available. Along with the increase in recording capacity, the degree of damage becomes severe in the case where a read error occurs in one given sector. In particular, in the case where a read error occurs in one given sector corresponding to a location where directory information concerning to data management in an HDD has been recorded, enormous numbers of data may be damaged. The seriousness of the damage increases as the recording amount increases.
As a means for avoiding troubles specific to such an HDD, a system in which one HDD is configured as part of an array has been available. In this system, if there exists any drive that has got a read error, another HDD provided for increasing redundancy is used to recover the drive data. In order to enhance the resistance of a single HDD against such an error, a method that adds an ECC (Error Correcting Code) to the information in the sector has been adopted. Each sector on a disk medium is composed of SB (syncbyte), DATA, and ECC.
Assume that a read error occurs in a given sector. At this time, a data buffer in an HDD retains data received from a sector at which readout operation is started to a sector which is one sector before a sector where the read error has occurred. If the data readout operation from the sector at which the read error has occurred does not succeed even when retry is attempted, the HDD cannot load effective data into the data buffer and therefore cannot send the effective data to a higher-level device. When the data recovery fails eventually, the HDD notifies the higher-level device of a read error and ends the readout operation.
As a prior art relating to the present invention, there is known a file control apparatus (refer to e.g., Patent Document 1: Jpn. Pat. Appln. Laid-Open Publication No. 5-35416) that prepares a buffer corresponding to the size of data of each the track and performs data check processing in units of tracks. Further, there is known a data recording method (refer to e.g., Patent Document 2: Jpn. Pat. Appln. Laid-Open Publication No. 8-124318) that adds a parity forming LCD (Long Distance Code) to each sector, adds parity sector data to each predetermined number of sectors, calculates parity sector data for each predetermined number of sectors, and uses the parity sector data to make correction when correction using the parity forming the LDC is disabled at reproduction time.
Although the error correction capability itself using the ECC gradually increases, a new data correction method has not been adopted and conventional techniques have continued to be used in recent years. However, in a state where the recording capacity of a single HDD has been increasing, it can be said that the risk of data loss relatively increases with the conventional data error correction capability using the ECC.
Further, as described above, the mechanism in which, in the case where error correction cannot be made using the ECC, the conventional HDD notifies the higher-level device of a read error and ends the readout operation remains basically unchanged since the birth of a disk drive.
Further, in the technique like Patent Document 1, data corresponding to one track needs to be read out every time one writing processing is performed, thus doubling command processing time to deteriorate the performance. As a result, the use of this technique is not realistic. Further, in the technique like Patent Document 2, redundant data needs to be prepared when write data is received from the higher-level device to thereby deteriorate the performance, making it difficult to use this technique practically.